def error_cl(ys_or_no):
    while ys_or_no == 'y':
        print('请输入以下信息，用空格分隔！')
        input_str = input('性别 体重（kg） 身高（cm） 年龄：')
        str_list = input_str.split(' ')

        try:
            gender = str_list[0]
            weight = float(str_list[1])
            height = float(str_list[2])
            age = int(str_list[3])

            if gender == '男':
                bmr = (13.7 * weight) + (5.0 * height) - (6.8 * age) + 66
            elif gender == '女':
                bmr = (9.6 * weight) + (1.8 * height) - (4.7 * age) + 655
            else:
                bmr = -1
            if bmr != -1:
                print('您的性别：{}，体重：{}公斤，身高：{}厘米，年龄：{}岁'.format(gender, weight, height, age))
                print('您的基础代谢率为{}大卡：'.format(bmr))
            else:
                print('该版本尚不支持此性别！')
        except ValueError:
            print('请输入正确的信息！')
        except IndexError:
            print('请完整输入数值！')
        except:
            print('程序异常！')

        print('************************************')
        ys_or_no = input('继续或退出（y或者n）：')

def main():
    """
        主函数 
    """
    print('************************************')
    # 用户选择继续或者退出
    ys_or_no = input('继续或退出（y或者n）：')

    # 函数调用
    error_cl(ys_or_no)


if __name__ == '__main__':
    main()